home *** CD-ROM | disk | FTP | other *** search
- %Misc defs
- /AppleLW
- statusdict begin product end
- (LaserWriter) search
- { pop pop pop true }
- { false exch % Check for LW Pro 400/405, project names, etc…
- [
- (PC-PR3000PS/4)
- (PC-PR3000PS/4F)
- ]
- { 1 index eq 3 -1 roll or exch } forall pop
- { true }
- { false } ifelse } ifelse
- def
-
- /isLevel2
- systemdict /languagelevel 2 copy known
- { get 2 ge } { pop pop {languagelevel} stopped { false } { 2 ge } ifelse } ifelse
- def
-
- statusdict begin
- % Get the product name (must change it for LW400 & 405s)
- /product load dup dup (PC-PR3000PS/4) eq
- {pop pop (LaserWriter Pro 400) }
- {(PC-PR3000PS/4F) eq {pop (LaserWriter Pro 405) } if }
- ifelse ==
- end
-
-
- %Get the ROM version
- statusdict begin
- revision AppleLW {cvr} if =string cvs {mark (%NetworkInterface%) currentdevparams } stopped not
- { exch pop /ROMVersion get dup length 2 index length dup /ver exch def add 11 add string dup 0
- (PS: ) putinterval dup ver 5 -1 roll putinterval dup 4 ver add ( I/O: ) putinterval
- dup 11 ver add 4 -1 roll putinterval} {cleartomark} ifelse
- dup length 1 string dup 0 4 -1 roll put print print
- end
-
- %print new line char
- (\n) print
-
-
- %Get the PS version
- systemdict begin
- version =string cvs dup length 1 string dup 0 4 -1 roll put print print
- end
-
- %print new line char
- (\n) print
-
-
- % Get the PS revision
- % fix me vvvvv
- statusdict /revision 2 copy known
- { get exec}
- { pop pop
- { revision } stopped { -1 } if
- } ifelse =
-
-
- % Get the PS level
- systemdict/languagelevel 2 copy known{get}{pop pop 1}ifelse ==
-
-
- % Get the PS serial number
- /serialnumber where{pop
- serialnumber dup 0 lt { 1 bitshift -1 bitshift } if
- =string cvs dup length 1 string dup 0 4 -1 roll put print print
- }{( )dup 0 0 put print}ifelse
-
- %print new line char
- (\n) print
-
-
- %Get pages printed
- statusdict begin
- pagecount =string cvs dup length 1 string dup 0 4 -1 roll put print print
- end
-
- %print new line char
- (\n) print
-
-
- %Get total memory in bytes
- isLevel2
- { currentsystemparams /RamSize get
- }
- {
- statusdict /ramsize 2 copy known
- { get dup type (operatortype) eq {cvx exec}if}
- { pop pop 0 } ifelse
- } ifelse
- =
-
-
- %Get free memory in bytes
- vmstatus exch sub = pop
- %??flush
-
-
- % Get the resolution
-
- %TH:
- { /ActualValues /ProcSet findresource } stopped not
- { begin HWResolution end ==
- }
- { pop pop
- %Other:
- isLevel2
- { currentpagedevice /HWResolution 2 copy known
- { get == }
- { pop pop ([300 300]) = } ifelse
- }
- { statusdict /resolution 2 copy known
- { ([) print get =string cvs dup print ( ) print print (]) = }
- { pop pop ([300 300]) = } ifelse
- } ifelse
- } ifelse
-
- %Get color
- systemdict /colorimage known
- {
- statusdict begin
- /processcolors where
- {
- pop processcolors 1 gt
- }{
- false %% Unknown
- }ifelse
- end
- }{
- false
- }ifelse
- dup {(hasColor)}{(noColor)}ifelse print (\n)print
-
-
- %Get fax
- %%?BeginFeatureQuery: *FaxSupport
- ()/resourcestatus where
- {pop
- /HWOptions/Category resourcestatus
- { pop pop
- /Fax/HWOptions resourcestatus
- { pop pop pop(hasFax\n)}
- { (noFax\n)} ifelse
- }
- {(noFax\n)}ifelse
- }
- {(noFax\n)}ifelse print
- %%?EndFeatureQuery: Unknown
-
- %??flush
-
-
- %Get Binary Communications
- %Ask Steve for PS
-
- %Get Optional Cassette
- %Dave will talk to Chuck at Adobe
- isLevel2
- {
- currentpagedevice /InputAttributes get 2 2 copy known
- {get /null eq not
- }
- { pop pop false } ifelse
- }
- { false
- } ifelse
- { (hasOpitionalCassette\r)}
- { (noOpitionalCassette\r)} ifelse print
-
- %Get envelope feeder
-
-
- %Get Duplexing
- isLevel2
- { currentpagedevice /Duplex known
- }
- { false
- } ifelse
- {(hasDuplexing\n)}{(noDuplexing\n)} ifelse print
-
-
- % Get optional cassette (array elem 2)
-
- systemdict/languagelevel 2 copy known{get}{pop pop 1}ifelse
- 2 ge {
- currentpagedevice /InputAttributes get
- dup 2 known
- {2 get null ne {(hasOptionalCassette\n)}{(noOptionalCassette\n)}ifelse}
- {pop (noOptionalCassette\n)}ifelse
- }
- {(noOptionalCassette\n)}ifelse
- print
-
-
- %Get envelope feeder (array elem 3)
- systemdict/languagelevel 2 copy known{get}{pop pop 1}ifelse
- 2 ge {
- currentpagedevice /InputAttributes get
- dup 3 known
- {3 get null ne {(hasEnvelopeFeeder\n)}{(noEnvelopeFeeder\n)}ifelse}
- {pop (noEnvelopeFeeder\n)}ifelse
- }
- {(noEnvelopeFeeder\n)}ifelse
- print
-
-
- %%Get has Binary Communications
- (hasBinaryCommunications\n)
- /currentdevparams where
- {
- pop
- [
- {
- currentsystemparams/CurInputDevice get
- currentdevparams
- }stopped
- {
- cleartomark 0 dict
- }{
- exch pop
- }ifelse
- dup/Filtering known
- {
- /Filtering get
- /None ne
- {pop(noBinaryCommunications\n)}if
- }{
- pop
- }ifelse
- }if
- print
-